﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ECommerce.Model.Comercios
{
    public class Catálogo : ECommerce.Model.Objeto
    {
        private ECommerce.Model.Productos.Familia[] familias;
        public ECommerce.Model.Productos.Familia[] Familias
        {
            get { return this.familias; }
            set { this.familias = value; }
        }
        public override void Load(int ident)
        {
            base.Load(ident);
            this.Id = ident;
            this.Load(ECommerce.DAO.Cache.Comercios.Catálogo.GetCatálogoById(ident));
            if (this.Id == 0)
            {
                this.Id = ident;
                this.Load(ECommerce.DAO.SQL.Comercios.Catálogo.GetCatálogoById(ident));
                this.Familias = ECommerce.DAO.Cache.Productos.Familia.GetFamiliasByCatálogoId(ident);
                if (this.Familias == null)
                    this.Familias = ECommerce.DAO.SQL.Productos.Familia.GetFamiliasByCatálogoId(ident);
                ECommerce.DAO.Cache.Comercios.Catálogo.SetCatálogo(this);
            }
        }
        public override void Load(System.Data.DataRow dr)
        {
            base.Load(dr);
            ECommerce.Factory.Comercios.Catálogo.Load(this, dr);
            ECommerce.DAO.Cache.Comercios.Catálogo.SetCatálogo(this);
        }
        public override void Save()
        {
            base.Save();
            this.Id = ECommerce.DAO.SQL.Comercios.Catálogo.SetCatálogo(this);
            ECommerce.DAO.Cache.Comercios.Catálogo.SetCatálogo(this);
        }
        public override void Del()
        {
            base.Del();
            this.Id = ECommerce.DAO.Cache.Comercios.Catálogo.DelCatálogo(this);
        }
    }
}
